package com.satoken.controller;

import cn.dev33.satoken.stp.StpUtil;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/user")
public class UserPermissionAndRoleController {

    @RequestMapping("/getPermissionList")
    public Object getPermissionList() {
        /**
         * // 判断：当前账号是否含有指定权限, 返回 true 或 false
         * StpUtil.hasPermission("user.add");
         *
         * // 校验：当前账号是否含有指定权限, 如果验证未通过，则抛出异常: NotPermissionException
         * StpUtil.checkPermission("user.add");
         *
         * // 校验：当前账号是否含有指定权限 [指定多个，必须全部验证通过]
         * StpUtil.checkPermissionAnd("user.add", "user.delete", "user.get");
         *
         * // 校验：当前账号是否含有指定权限 [指定多个，只要其一验证通过即可]
         * StpUtil.checkPermissionOr("user.add", "user.delete", "user.get");
         */
        return "当前账号所拥有的权限集合:" + StpUtil.getPermissionList();
    }

    @RequestMapping("/getRoleList")
    public Object getRoleList() {
        /**
         * // 判断：当前账号是否含有指定权限, 返回 true 或 false
         * StpUtil.hasPermission("user.add");
         *
         * // 校验：当前账号是否含有指定权限, 如果验证未通过，则抛出异常: NotPermissionException
         * StpUtil.checkPermission("user.add");
         *
         * // 校验：当前账号是否含有指定权限 [指定多个，必须全部验证通过]
         * StpUtil.checkPermissionAnd("user.add", "user.delete", "user.get");
         *
         * // 校验：当前账号是否含有指定权限 [指定多个，只要其一验证通过即可]
         * StpUtil.checkPermissionOr("user.add", "user.delete", "user.get");
         */
        return "当前账号所拥有的角色集合:" + StpUtil.getRoleList();
    }

   /* @RequestMapping("/getRoleList")
    public Object getRoleList() {
        return "当前账号所拥有的角色集合:" + StpUtil.getRoleList();
    }*/
}
